html {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, menu, time, mark, audio, video {
	margin: 0;
    outline: 0;
    border: 0;
	padding: 0;
    vertical-align: baseline;
	font-size: 100%;
	background: transparent;
}
article, aside, figure, footer, header, hgroup, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}
mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom:1px dotted #000;
	cursor:help;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #ccc;
	margin:1em 0;
	padding:0;
}
input, select {
	vertical-align:middle;
}
body {
	font:16px sans-serif;
	line-height:1.22;
	color:#333;
}
select, input, textarea, button {
	font:99% sans-serif;
}
pre, code, kbd, samp {
	font-family: monospace, sans-serif;
}
h1, h2, h3, h4, h5, h6, strong, th {
	font-weight: normal;
}
a:hover, a:active {
	outline: none;
}
td, td img {
	vertical-align:top;
}
sub {
	vertical-align: sub;
	font-size: smaller;
}
sup {
	vertical-align: super;
	font-size: smaller;
}
pre, code {
    padding: 15px;
	white-space: pre;
    white-space: pre-wrap;
    white-space: pre-line;
    word-wrap: break-word;
}
textarea {
    overflow: auto;
}
.ie6 legend, .ie7 legend {
    margin-left: -7px;
}
input[type="radio"] {
	vertical-align: text-bottom;
}
input[type="checkbox"] {
	vertical-align: bottom;
}
.ie7 input[type="checkbox"] {
    vertical-align: baseline;
}
.ie6 input {
	vertical-align: text-bottom;
}
label {
	cursor: pointer;
}
button, input, select, textarea {
    margin: 0;
}
input[type=submit], input[type=button], button {
	cursor: pointer;
    width: auto;
	overflow: visible;
}
.ie7 img {
	-ms-interpolation-mode: bicubic;
}

/* FUNCTION HELPERS */
.ir {
	display:block;
	text-indent:-999em;
	overflow:hidden;
	background-repeat: no-repeat;
    text-align: left;
    direction: ltr;
}
.hidden {
	display:none;
	visibility:hidden;
}
.vhidden {
	position:absolute !important;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
}
.valign-content {
	display: inline-block;
	vertical-align: middle;
}
.valign-helper {
	display: inline-block;
	width: 0;
	height: 100%;
	vertical-align: middle;
}
.clear:before, .clear:after {
    content: "\0020";
    display: block;
    height: 0;
    visibility: hidden;
}
.clear:after {
    clear: both;
}
.clear {
    zoom: 1;
}

@media print {
	* {
		background: transparent !important;
		color: #444 !important;
		text-shadow: none !important;
	}
	a, a:visited {
		color: #444 !important;
		text-decoration: underline !important;
	}
	a:after {
		content: " (" attr(href) ")" !important;
	}
	abbr:after {
		content: " (" attr(title) ")" !important;
	}
	.ir a:after {
		content: "" !important;
	}  /* Don't show links for images */
	pre, blockquote {
		border: 1px solid #999 !important;
		page-break-inside: avoid !important;
	}
	img {
		page-break-inside: avoid !important;
	}
	@page {
		margin: 0.5cm !important;
	}
	p, h2, h3 {
		orphans: 3 !important;
		widows: 3 !important;
	}
	h2, h3 {
		page-break-after: avoid !important;
	}
}